#ifndef PROTREEITEM_H
#define PROTREEITEM_H

#include <QTreeWidgetItem>

class ProTreeItem : public QTreeWidgetItem
{
public:
    ProTreeItem(QTreeWidget *view, const QString &name, const QString &path, int type = Type);
    ProTreeItem(QTreeWidgetItem* parent, const QString &name, const QString &path, QTreeWidgetItem *root, int type = Type);

    const QString &GetPath();
    QTreeWidgetItem *GetRoot();                         // 获取根节点
    void setPreItem(QTreeWidgetItem *item);     // 设置前一个节点
    void setNextItem(QTreeWidgetItem *item);    // 设置后一个节点
    ProTreeItem *GetPreItem();                  //  获取前一个节点
    ProTreeItem *GetNextItem();                // 获取后一个节点
    ProTreeItem *GetLastPicChild();             // 获取最后一个孩子图片节点
    ProTreeItem *GetFirstPicChild();            // 获取第一个孩子图片节点

private:
    QString _path;
    QString _name;
    QTreeWidgetItem *_root;     // 根节点
    QTreeWidgetItem *_pre_item;      // 前一个节点
    QTreeWidgetItem *_next_item;    // 后一个节点    （实现双向链表）
};

#endif // PROTREEITEM_H
